Present invention relates to local area network (LAN) testers in particular, and in particular to software to detect phase jitter intolerant stations on a token ring local area network. BACKGROUND OF THE INVENTION
In general, most computer networks have the goal of moving data among the computers connected to the network. Each network must have some mechanism for regulating access to the transmission of this data. Several approaches exist to regulate access to the transmission of data in local area networks. These include contention, token passing, demand priority, and direct switching. The present invention relates to token passing networks, and more specifically, token ring networks as defined by the ISO/IEC 8802-5 token ring standard.
A token ring network uses a logical ring topology, shown in FIG. 1, that is physically wired as a star with workstations connected to a wiring concentrator. Wiring concentrators can be cabled together to expand the capacity of the LAN.
FIG. 2 illustrates the wiring of workstations to each wiring concentrator. Each workstation uses a twisted pair connection for input and a second twisted pair for output with the data flowing from station to station in one direction to implement a logical ring. The wiring concentrator also controls access of each work station to the LAN.
Token ring adapter cards or Network Interface Cards (NICs) are installed on each workstation to allow it to be connected to the wiring concentrator. Each NIC has several capabilities. First, it has input and output buffers which allow data files of various lengths communicated from the workstation to be stored and then serialized before being clocked onto the network. Second, each NIC is also equipped with a phase lock loop circuit which is capable of extracting a clock signal which is transmitted with the data. Small variations in the clock rate (or phase) may occur as data is transmitted between workstations. If the rate of clock phase change is excessive, the phase lock loop circuits in a typical NIC cannot recover the clock signal and will generate an error. A third capability of the NIC is to report clock signal and other errors automatically by generating Error Report MAC frames which are transmitted onto the network.
ISO/IEC 8802-5 networks may operate at 4 or 16 megabits per second (Mbps). Each station on the network must operate at the same speed.
A xe2x80x9ctokenxe2x80x9d is a special data xe2x80x9cframexe2x80x9d which is passed from workstation to workstation in sequence along the ring. The token frame is only a few bytes in length and contains a bit pattern which can be changed into a start of frame delimiter (SOF) by changing a series of bits into a start sequence. Immediately following the SOF is a sequence of source and destination address pairs that identify the sending and transmitting workstations, respectively.
The token is recognized by all workstations as being the arbiter of access for the transmission of the data. A workstation must have the token to place data frames on the network. If it does not have the token it must wait until it gets the token from its upstream neighbor in order to transmit data. If the token is passed to a workstation that needs to transmit data, the workstation converts the token to an SOF, appends the source and destination address. and then adds data to be transmitted. If the token is passed to a workstation that doesn""t need to transmit data, the workstation sends the token to the next downstream workstation.
The SOF and the data frame travel around the ring from workstation to workstation. Each workstation reads the start sequence and the destination address. If the workstation""s address does not match the destination address, the workstation merely retransmits it on downstream. If the workstation address matches the destination address, the workstation copies the frame into memory and modifies a bit pattern to signify it copied the transmitted data. If a data frame is transmitted in broadcast mode, each workstation receives and copies the frame without regard to the destination address. The frame travels around the ring until it eventually returns to the sending workstation. Latency is a measure of the delay it takes one byte to travel completely around the network ring. The sending workstation then strips the data frame from the ring and transmits a token in its place.
The ISO/IEC 8802-5 Token Ring data frame structure is the standard data frame structure that has been adopted by most token ring topologies. The minimum length of a token ring data frame is 21 bytes. The maximum data frame size under this standard is determined by the ring""s signaling speed. A frame that is just large enough to fill the ring at any given time can be called the latency limit of the network.
FIG. 3 shows a diagram of the ISO/IEC 8802-5 data frame structure. The first field is that Starting Delimiter, which identifies the beginning of the frame. Next is the Access Control field. This field stores the xe2x80x9ctypexe2x80x9d bits that identify the transport protocol. This field is also used to differentiate between data frames and control frames. The first two bits identify the type of frame: data or Media Access Control (MAC) management. MAC frames are used to collect network performance data that can be analyzed by standards-compliant network management products. Each MAC frame performs a specific network management function, such as a claim token used to select an active monitor for the network. The next six bits are used to inform the recipient of the priority of the data Protocol Data Unit (PDU) and/or MAC PDU.
The next two fields are the destination and source MAC addresses. Each one is a 6-byte field. The data field follows. It varies in size, based upon the signaling speed of the ring. 4Mbps Token Rings can support data fields of maximum size 4,332 bytes. 16 Mbps Token Rings can support data field that are of maximum size 17,832.
The last three fields in the data frame are the 2 byte Frame Check Sequence (FCS) and a 1 byte ending delimiter. The FCS contains a mathematically derived value that is calculated based upon the length and content of the frame. The recipient and transmitter each apply the same algorithm to the frame. If the recipient computes the same value stored in the FCS field (which was calculated by the transmitter), then it assumes that the contents were transmitted correctly.
The ISO/IEC 8802-5 Token Ring standard establishes several Network Management Agents (NMAs). These agents may reside at each Token Ring workstation and are used in the normal management operation of the ring. These agents include active or standby monitors (AM or SM), ring error monitor (REM), Configuration Report Server (CRS) and Ring Parameter Server (RPS).
Token Ring network protocol is monitored by the Active Monitor (AM). The AM theoretically can be any station in the ring. Usually, it is the first station to become active but, after more stations activate, the responsibility can be contested and assumed by another station. The AM monitors all traffic, ensures that the network""s protocol rules are adhered to and initiates action that may be necessary to overcome protocol violations or failures. All the network workstations have the capability to be the AM, but only one can be the AM at a time. The other stations are known as Standby Monitors (SM).
The AM""s duties includes the following: 1) initializing the ring by issuing a Ring Purge MAC Frame upon start-up, 2) creating tokens, 3) providing the master clock for the network and 4) ensuring that tokens and frames do not traverse the ring more than once.
The ISO/IEC 8802-5 standard provides for an AM contention process called token claiming. This process is initiated by any of the SMs whenever they detect a possible failure of the AM. Numerous possible symptoms can trigger this process. They include the failure of the AM to transmit a good token frame at least once every 2.6 seconds, the failure of the AM to transmit an AM Present MAC Frame at least once every 15 seconds, unsuccessful ring purge attempts, inconsistencies with the clock, absence of AM Present or Standby Monitor Present MAC frames after a station insertion, the AM losing power, experiencing a hardware or software failure, or the AM being physically disconnected from the LAN.
When any station detects a need for a new AM, it will initiate monitor contention by sending a claim token MAC frame. Any station receiving a claim token frame with a source address numerically higher than its own will merely repeat that frame. Any station receiving a claim token with a source address less than its own will itself transmit a claim token with its own (higher) source address. A station that is currently transmitting claim tokens will cease if it received a claim token sent by some other station with a source address higher than its own. Following these rules, eventually only the highest numbered address station will be sending claim tokens on the ring. When this highest numbered station receives three of its own claim token frames without receiving any others, it wins the claim token process and becomes the AM.
The AM asserts the system clock for the network which is encoded in each data transmission. The method of encoding used in the token ring network is called Differential Manchester Coding. An example of data coding using a Differential Manchester code is shown in FIG. 4. As can be seen, the use of a Differential Manchester code provides a strong timing component for clock recovery because a timing transition always occurs in the middle of every bit transmitted. The polarity only changes at a bit cell boundary if the next bit is a xe2x80x9c0xe2x80x9d. Therefore, consecutive zeros appear as a 16 MHz square wave and consecutive ones appear as an 8 MHz square wave. This gives the Differential Manchester Code a vulnerability to phase jitter because these two frequencies have slightly different propagation velocities.
Each successive workstation receives data via the Differential Manchester code and proceeds to extract the clock rate and phase from the continuous transitions contained in the code. Due to imperfections in clock-signal-extraction and data-regeneration circuits, crosstalk, electrical noise, component inconsistencies, and other causes, the clock rate and phase received by each workstation may differ slightly. Clock phase jitter is the change in phase as compared to the clock of the AM. If phase jitter becomes severe, the phase lock loop contained in each NIC cannot correctly extract data from the frame. This condition causes detectable frame losses and error report MAC frames to be generated.
One aspect of creating a worst case jitter effect involves the data frame pattern. Strings of ones followed by strings of zeros (or vice versa) create phase jitter at the transition between the two strings. Another aspect of creating a worst case jitter effect is having the transmitting station receiving and stripping one of these string transitions at the same time it is transmitting the identical string transition.
In an effort to isolate phase jitter, the prior art has, in general, required the addition of special hardware to the token ring to track phase jitter. An example of this prior art is U.S. Pat. No. 5,309,428 to Copley. Copley discloses a token ring network testing apparatus which includes a state machine, a hardware phase jitter pattern generator, a rising edge generation circuit, a falling edge generation circuit and a comparator to determine phase jitter. Copley also provides for an interprelator which amplifies the phase jitter detected and a counter to track phase jitter patterns. However, Copley, as with other prior art test systems, requires addition of complex circuitry to the local area network and does not automatically provide for observation of the jitter reaction of all possible network configurations.
A need exists in the art for a methodology to evoke a worse case scenario phase jitter into a token ring network by using tuned data patterns. Additionally, a need exists for a method to automatically alter the conditions on the network to produce all important combinations of AMs, SMs and frame lengths to create phase jitter. For instance, a need exists for a methodology which automatically changes the AM and sizes or xe2x80x9ctunesxe2x80x9d test frames to create a worse case jitter production scenario in each NIC.
The preferred embodiment responds to the need in the art by providing a system to automatically assign and change the AM and to generate and transmit test data frames of varying structure to fully test a network for clock phase jitter. The invention first deploys a data frame generation and transmission module to each workstation in the network. A monitor module, resident on only one workstation, then chooses and activates one of the workstations as the AM. On a signal from the monitor module, each transmission module then generates test data frames and transmits them onto the network.
After the monitor module runs the test for a predetermined period of time, it then brings the current AM down, reassigns the AM and restarts the test until each workstation on the network has been selected as the AM and has orchestrated network protocol during testing functions. In this way, each workstation has an opportunity to generate the system clock, and each workstation has an opportunity to react to the system clock generated by every other station on the network.
The preferred embodiment of the invention includes three software modules, a monitor module, a transmit module and a display module.
The monitor module begins operating on a network which is up and running with a preselected and active AM and at least one SM workstation. The monitor module begins a test session by collecting all the addresses and locations of each workstation on the network. The monitor module then notifies a chosen workstation that it is to become the next AM and sends it an alternate address that is higher than any other workstation on the network. The next AM then automatically withdraws from the network, reassigns itself the high address and reattaches to the ring. The monitor module then sends a signal to the current active monitor, forcing it to deassert itself as the AM. After the monitor contention process selects the next AM as the current AM, the monitor module transmits a signal to each transmit module on every other workstation to begin testing.
Once contacted, each transmit module begins to format phase jitter test data frames and waits for the token to transmit them onto the network. The latency limit of the network changes, second by second. With the addition and deletion of workstations the test data frame length must also change in order to bracket the worst case condition for phase jitter, that is, when the data frame transitions occur at the latency limit of the network.
In the preferred embodiment, the test date frame may alternate anywhere in a range between a programmably selected minimum and maximum length. The maximum and minimum frame lengths may be set by the user, and are generally set to include frame length that would correspond to 2.5 times the ring latency limit. Each test data frame is partitioned into five segments where each segment is made up of either 0""s or 1""s and alternates between segments. Each transmit module continues transmitting test data frames onto the network decrementing the test data frames by one byte in every segment each time.
The preferred embodiment employs segments which are the same length with five distinct segment, for example, 1111 0000 1111 0000 1111 or 10101. Other odd numbers of segments (other than one) may also be used. The result is a test data frame which is xe2x80x9cscaledxe2x80x9d while maintaining the five segment data pattern throughout scaling. The five segment 0-1 data pattern has two transitions from 0""s to 1""s and 1""s to 0""s.
FIG. 6 shows a sample data file showing the five segments and a comparison to ring latency. The preferred embodiment employs alternating patterns of all ones and all zeros because at the receiving station, phase jitter is introduced at the transition from ones to zeros (and vice versa). With five segments of alternating all zeros and all ones, there are two transitions from zeros to ones, and two transitions from ones to zeros. A worst case scenario is introduced if the transmitter is transitioning from zeros to ones (or vice versa) at the same time that it has just begun stripping bits off the ring on the receive side with a bad phase ramp caused by a similar transition (i.e. the first of the two, zeros to ones or ones to zeros transitions).
Jitter related error conditions are reported automatically by the NIC in each workstation and through error report MAC frames. A separate network analysis station, which is commercially available, is connected to the network and is connected to the network and is used to collect the data from the error report MAC frames and either instantaneously display the errors for observation or log them for future reference.
After the monitor module determines that the test is complete, it reassigns the AM and begins the process again. The process is repeated until each workstation in the network has an opportunity to become the AM, control the network clock and test for resulting jitter problems.
The display module is a user interface which shows system status and allows menu driven control of various options of the monitor and transmit programs.